<?php

namespace app\api\controller;

class Student
{
    public function __construct()
    {
        //判断token是否有效，通过token读取学生的所有信息
        $token = input('get.token');
        if (empty($token)) output_error('token为空');
        //根据 Token 构建查询条件 查找学生数据
        $this->studentData = StudentModel::where('student_token', '=', $token)->find();
        if (empty($this->studentData)) output_error('token无效');

    }

    //注册功能
    public function getData()
    {
        //输出学生的所有信息，去除“student_password”字段
        unset($this->studentData['student_password']);
        unset($this->studentData['student_token']);
        output_data($this->studentData);

    }

    public function modifyName()
    {
        //修改学生姓名，学生姓名可重复。
        //昵称唯一
        $name = input('get.name');
        if (empty($name)) output_error('新昵称不能为空');
        StudentModel::where('student_id', '=', $this->studentData['student_id'])
            ->update(array('student_name' => $name));
        output_data(1);

    }

    public function modifyAvatar()
    {
        //修改学生头像，需要自行创建文件夹，文件系统。
        //学生头像文件唯一，更新时需要删除原有的文件。
        //第一步：接收传输的图片
        $file = request()->file('image');
        // 上传到本地服务器
        $savename = Filesystem::disk('avatar')
            ->putFile('', $file, 'uniqid');
        //第二步：删除用户原有的头像文件
        if ($this->studentData['student_avatar'] != 'default.png') {
            unlink(app()->getRootPath() . 'public\\upload\\avatar\\'
                . $this->studentData['student_avatar']);
        }
        //第三步：更新用户的头像字段
        StudentModel::where('student_id', '=', $this->studentData['student_id'])
            ->update(array('student_avatar' => $savename));
        output_data($savename);

    }

}
